

package at.fhj.itm.metadata.impl;

import at.fhj.itm.metadata.MetadataItem;
import at.fhj.itm.metadata.Sequence;
import java.util.Collections;
import java.util.List;

/**
 *
 * @author Seuchter
 */
public abstract  class AbstractSequence extends AbstractMetadataItem implements Sequence {

    protected long minValue;
    protected long maxValue;
    protected long curValue;
    protected boolean cycle;
    protected long incrementStep;


    protected AbstractSequence(final String name, final long minValue, final long maxValue,
            final long incrementStep, final long curValue, final boolean cycle)
    {
        super(name);
        this.minValue = minValue;
        this.maxValue = maxValue;
        this.curValue = curValue;
        this.cycle = cycle;
        this.incrementStep = incrementStep;
    }


    public List<? extends MetadataItem> getChildren()
    {
       return Collections.emptyList();
    }


    public long getMinValue()
    {
       return minValue;
    }

    public long getMaxValue()
    {
        return maxValue;
    }

    public long getCurrentValue()
    {
        return curValue;
    }

    public boolean isCycle()
    {
       return cycle;
    }

    public long getIncrementStep()
    {
        return incrementStep;
    }

}
